<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>ch01-03</title>
    <link href="css/style.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" href="thumbnailviewer.css" type="text/css">
    <script src="thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script> </head>
  <body>
    <div class="os1">1.3 Qt在Windows下安装</div>
    <p> 本节先示范 Qt 开发环境在 Windows 系统里的安装，然后简要介绍 Qt 开发环境的目录结构和 Qt 命令行脚本内容。 </p>
    <div class="os2">1.3.1 安装 Qt 开发环境</div>
    <p> 在Windows系统里面安装Qt开发环境，需要按照上一节所述的，下载MinGW版本Qt， 安装文件名为
      qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe 。 在Windows
      XP及以上系统里面都可以安装使用。 如果在Windows 7以上系统安装，需要使用管理员权限。 安装Qt开发环境的磁盘分区空闲空间最好在 4GB
      以上， 下面就开始安装示范。 </p>
    首先运行该安装文件（管理员权限），由于安装包比较大，需要较长时间解压缩组件，所以请耐心等待，不要重复运行exe安装文件。安装程序自动解压完成后会显示如下
    安装界面：<br>
    <center><img src="images/installwin/win01.jpg"></center>
    <br>
    点击“下一步”，进入指定“安装文件夹”的界面：<br>
    <center><img src="images/installwin/win02.jpg"></center>
    <br>
    可以使用默认目录或装到其他磁盘分区，注意安装Qt的目标磁盘分区空间要留 4GB ， 后面方便安装全部组件，然后点击“下一步”，进入“选择组件”界面：<br>
    <center><img src="images/installwin/win03.jpg"></center>
    <br>
    在“选择组件”界面点击下方的“全选”，安装全部组件。默认情况下Qt安装程序没有选中 “Source
    Components”（Qt源代码）和第二个“MinGW 4.9.1”（编译生成工具）。 上图第一个“MinGW 4.9.1(32 bit)
    OpenGL”是指Qt库自己，该Qt库是使用MinGW 4.9.1编译生成的， 并支持使用OpenGL进行渲染绘图。第二个“MinGW
    4.9.1”才是真正的g++等编译工具， 所以必须要选中安装第二个“MinGW 4.9.1”。源代码组件比较大，如果磁盘空间不足可以不安装，
    但如果为以后学习Qt源代码着想，建议都装上。选择全部组件之后点击“下一步”，进入“许可协议”界面：<br>
    <center><img src="images/installwin/win04.jpg"></center>
    <br>
    选择“I have read and agree to the terms contained in the license
    agreements.”这一栏，同意许可协议，点击“下一步”，进入“开始菜单快捷方式” 界面：<br>
    <center><img src="images/installwin/win05.jpg"></center>
    <br>
    用默认的开始菜单项即可，点击“下一步”，进入“已做好安装准备”界面：<br>
    <center><img src="images/installwin/win06.jpg"></center>
    <br>
    如果想看看详细的组件信息可以点击“显示详细信息”按钮。 点击下方“安装”，开始正式的安装过程，因为开发环境比较大，安装时间比较长，请耐心等待安装完成。
    安装好所有组件后，点击“下一步”，会进入“正在完成Qt 5.4.0向导”：<br>
    <center><img src="images/installwin/win07.jpg"></center>
    <br>
    点击“完成”，上图中“Launch Qt Creator”会自动打开Qt Creator，该程序就是Qt的集成开发环境（Integrated
    Development Environment，IDE），可以先看看该开发工具，以后会慢慢讲。
    到这里，安装就完成了。接下来看看安装后的文件夹里都有些什么。<br>
    <br>
    <div class="os2">1.3.2 Qt 开发环境目录结构</div>
    <br>
    在 Windows 系统里安装的 Qt 开发环境大致可以划分为三个部分：Qt 类库、Qt Creator 和编译工具集。<br>
    <ul>
      <li>Qt 类库本身的路径为 C:\Qt\Qt5.4.0\5.4\mingw491_32 ，这里的 mingw491_32 是指采用 MinGW
        工具集编译而成的 Qt 库，而不是 MinGW 本身。</li>
      <li>Qt Creator 路径为 C:\Qt\Qt5.4.0\Tools\QtCreator ，这个是 Qt
        的集成开发环境（Integrated Development Environment，IDE）。 </li>
      <li>编译工具集路径为 C:\Qt\Qt5.4.0\Tools\mingw491_32，这个才是 MinGW 工具集本身，拥有 g++
        、ld、ar、mingw32-make 等等编译链接生成工具。 </li>
    </ul>
    另外如果安装了 Qt 源代码，则位于 C:\Qt\Qt5.4.0\5.4\Src 目录里面。我们将 Qt 开发环境安装后目录树绘图如下：<br>
    <center> <img src="images/installwin/installdir.png" alt="INSTALLDIR" width="800">
    </center>
    注意在 5.4 文件夹里的是 Qt 类库，而在 Tools 里的才是真的 MinGW 工具集。Qt 类库是使用 MinGW
    工具集编译而成的。QtCreator 是个例外，QtCreator 使用 MSVC2010 编译生成的，所以安装目录里有一个 vcredist
    文件夹存储 VC 运行库安装文件。最后的 MaintenanceTool.exe ，对于离线安装包，它只能用于删除软件包，如果 Qt
    开发环境是用在线安装方式装的，这个工具还可以管理开发环境组件和升级组件。Qt 类库的帮助文件位于 Docs 文件夹里，需要用 Qt Assistant
    工具才能查看。Examples 里是示例代码，可以用 QtCreator 集成开发环境打开各个示例。<br>
    <br>
    以 Qt 类库的目录 QTDIR 再细分查看，得到下图 Qt 类库根的目录树：<br>
    <center> <img src="images/installwin/qtdir.png" alt="QTDIR" width="800"> </center>
    图上列的比较有限，主要是教大家熟悉一下 Qt 的开发环境，下面小节介绍 Qt 的命令行脚本。<br>
    <br>
    <div class="os2">1.3.3 Qt 命令行脚本</div>
    <br>
    在开始菜单里“Qt 5.4.0”就是 Qt 开发工具的菜单目录，如下图所示：<br>
    <br>
    <center> <img src="images/installwin/startmenu.png" alt="startmenu" width="800">
    </center>
    图中“Qt Creator (Community)”就是集成开发环境，而进一步打开 “5.4”--&gt;“MinGW 4.9 (32-bit)”里面是
    Qt 类库特有的工具，“Assistant” （Qt助手）是帮助文档查看工具，“Designer”
    （Qt设计师）是图形界面可视化编辑工具，“Linguist”（Qt语言家）是多国语言翻译支持工具，最后的“Qt 5.4 for Desktop
    (MinGW 4.9 32bit)” 就是 Qt 开发命令行，配置好了 Qt 开发需要的环境变量，打开它我们就可以从命令行编译 Qt 程序。<br>
    这个 Qt 命令行实际就是一句命令：<br>
    C:\WINDOWS\system32\cmd.exe /A /Q /K
    C:\Qt\Qt5.4.0\5.4\mingw491_32\bin\qtenv2.bat<br>
    这句就是调用了 cmd 命令行工具，选项 /A 使向内部管道或文件命令的输出成为 ANSI ， 选项 /Q 是关闭回应， 选项 /K
    执行字符串指定的命令后命令行窗口继续存在。<br>
    该命令实际执行的脚本就是 C:\Qt\Qt5.4.0\5.4\mingw491_32\bin\qtenv2.bat ， 这是 Qt
    开发环境的配置脚本。我们打开来看看它的内容： <br>
    <div class="code"> echo off<br>
      echo Setting up environment for Qt usage...<br>
      set
PATH=C:\Qt\Qt5.4.0\5.4\mingw491_32\bin;C:\Qt\Qt5.4.0\Tools\mingw491_32\bin;%PATH%<br>
      cd /D C:\Qt\Qt5.4.0\5.4\mingw491_32</div>
    脚本里四句是非常简单的，第一句是关闭命令行回显（会看不到 set 和 cd 等命令显示）；<br>
    第二句是显示提示信息，表示会配置好 Qt 环境；<br>
    第三句是真实的配置命令，将 Qt 类库的 bin 目录和 MinGW 的 bin 目录添加到环境变量 PATH
    里面，这个配置仅对当前窗口有效，不会修改系统启动里的 PATH。<br>
    第四句是进入 Qt 类库的根目录（QTDIR）。<br>
    配置 Qt 环境实际上就设置一下 PATH 而已，其他的都不用管，非常省事。如果有其他 MinGW 编译而成的 Qt 库，配置脚本是类似的。 <br>
    <br>
    下一节讲解Qt开发环境在Linux系统里面的安装， 如果读者不使用Linux系统，可以跳过，直接进入 1.5 节。 <br>
    <br>
    <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
      <tbody>
        <tr>
          <td style="width: 40%;">
            <div style="text-align: center;"><a href="ch01-02.htm"><img class="pic"
                  style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png"></a></div>
          </td>
          <td style="width: 20%;">
            <div style="text-align: center;"><a href="contents.htm"><img class="pic"
                  style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png"></a></div>
          </td>
          <td style="width: 40%;">
            <div style="text-align: center;"><a href="ch01-04.htm"><img class="pic"
                  style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png"></a></div>
          </td>
        </tr>
      </tbody>
    </table>
  </body>
</html>
